GC-Safe Interprocedural Unboxing
نویسندگان
چکیده
Modern approaches to garbage collection (GC ) require information about which variables and fields contain GC-managed pointers. Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), but must maintain the necessary GC information. We define a core language which models compiler correctness with respect to the GC, and develop a correctness specification for interprocedural unboxing optimizations. We prove that any optimization which satisfies our specification will preserve GC safety properties and program semantics, and give a practical unboxing algorithm satisfying this specification.
منابع مشابه
Type-Preserving Flow Analysis and Interprocedural Unboxing (Extended Version)
Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), and in previous work we have shown how to do so while maintaining correctness with respect to the garbage collector. In this paper, we extend the notion of flow analysis to incorporate types, enabling analysis and optimization of typed programs. We apply this typed analysis to specify...
متن کاملar X iv : 1 20 3 . 19 86 v 1 [ cs . P L ] 9 M ar 2 01 2 Type - Preserving Flow Analysis and Interprocedural Unboxing Extended
Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), and in previous work we have shown how to do so while maintaining correctness with respect to the garbage collector. In this paper, we extend the notion of flow analysis to incorporate types, enabling analysis and optimization of typed programs. We apply this typed analysis to specify...
متن کاملThe e ectiveness of type - based unboxing Xavier Leroy
We compare the e ciency of type-based unboxing strategies with that of simpler, untyped unboxing optimizations, building on our practical experience with the Gallium and Objective Caml compilers. We nd the untyped optimizations to perform as well on the best case and signi cantly better in the worst case.
متن کاملApplying Scalable Interprocedural Pointer Analysis to Embedded Applications
This paper evaluates six different types of interprocedural pointer analyses on 22 telecommunication and media applications and describes their application to an SRAM power reduction technique. This configurable SRAM provides differentiation of data access time and port counts within a single on-chip structure. Scheduling for configurable SRAM relies on inter-procedural dependence analysis for ...
متن کاملThe Eeectiveness of Type-based Unboxing
We compare the eeciency of type-based unboxing strategies with that of simpler, untyped unboxing optimizations , building on our practical experience with the Gallium and Objective Caml compilers. We nd the untyped optimizations to perform as well on the best case and signiicantly better in the worst case.
متن کامل